<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html>
<head>
<title>Introduction to wxWidgets</title>
<link rel="stylesheet" href="/cfg/format.css" type="text/css">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="keywords" content="wxWidgets, tutorial, Introduction, C++, programming, GUI, multiplatform">
<meta name="description" content="This part of the wxWidgets tutorial is an introduction to wxWidgets.">
<meta name="language" content="en">
<meta name="author" content="Jan Bodnar">
<meta name="distribution" content="global">

<script type="text/javascript" src="/lib/jquery.js"></script>
<script type="text/javascript" src="/lib/common.js"></script>

</head>

<body>

<div class="container">

<div id="wide_ad" class="ltow">
<script type="text/javascript"><!--
google_ad_client = "pub-9706709751191532";
/* 160x600, August 2011 */
google_ad_slot = "2484182563";
google_ad_width = 160;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>


<div class="content">


<a href="/" title="Home">Home</a>&nbsp;
<a href="..">Contents</a>


<h1>Introduction</h1>


<p>
This is a tutorial, that will introduce you to the programming with the wxWidgets toolkit. 
</p>

<script type="text/javascript"><!--
google_ad_client = "pub-9706709751191532";
/* NewSquare */
google_ad_slot = "0364418177";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script> 
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
</script> 


<h2>wxWidgets</h2>

<p>
wxWidgets is a GUI (Graphical User Interface)  toolkit for creating C++ applications. 
It is an opensource, mature and cross-platform toolkit. wxWidgets applications run on all 
major OS platforms, Windows, Unix and Mac. The project was started by <b>Julian Smart</b> in 1992. 
wxWidgets is much more than a toolkit. It provides a large variety of classes for handling streams, databases, 
threads, online help or application settings. wxWidgets consists of a large group of widgets. 
The community around wxWidgets is grouped around their <a href="http://www.wxwidgets.org">website</a>.
</p>


<h2>The C++ programming language</h2>


<p>
The C++ programming language is one of the most widely used programming languages.
It is used in many famous desktop applications like MS Office, Macromedia Flash, 
Firefox, Photoshop or 3D Max. C++ dominates also the world of PC games. It is one 
of the most difficult programming languages. On the other hand, programming 
in C++ today is different from programming 10 years ago. There are many tools
and libraries that make the programming easier. 
</p>


<h2>Programming languages</h2> 
 
<p> 
There are currently several widely used programming languages. The 
following list is based on the 
<a href="http://www.tiobe.com/tpci.htm">TIOBE</a> Programming Community 
Index. The numbers are from November 2010. As we can see, C++ still belongs
to the most popular programming languages in the world. 
</p> 
 
<table width="400"> 
<tr> 
<th>Position</th> 
<th>Language</th> 
<th>Ratings</th> 
</tr> 
<tr> 
<td>1</td><td>Java</td><td>18.5%</td> 
</tr> 
<tr class="gray"> 
<td>2</td><td>C</td><td>16.7%</td> 
</tr> 
<tr> 
<td>3</td><td>C++</td><td>9.5%</td> 
</tr> 
<tr class="gray"> 
<td>4</td><td>PHP</td><td>7.8%</td> 
</tr> 
<tr> 
<td>5</td><td>C#</td><td>5.7%</td> 
</tr> 
<tr class="gray"> 
<td>6</td><td>Python</td><td>5.7%</td> 
</tr> 
<tr> 
<td>7</td><td>Visual Basic</td><td>5.5%</td> 
</tr> 
<tr class="gray"> 
<td>8</td><td>Objective C</td><td>3.2%</td> 
</tr> 
<tr> 
<td>9</td><td>Perl</td><td>2.4%</td> 
</tr> 
<tr class="gray"> 
<td>10</td><td>Ruby</td><td>1.9%</td> 
</tr> 
 
</table> 
 
<p> 
Java is the most widely used programming language. Java excels in creating 
portable mobile applications, programming various appliances and in creating 
enterprise applications. Every fourth application is programmed in C/C++. 
They are standard for creating operating systems and various desktop applications. 
C/C++ are the most widely used system programming languages. 
</p> 
 
<p> 
PHP dominates over the Web. While Java is used mainly by large organizations, 
PHP is used by smaller companies and individuals. PHP is used to create dynamic 
web applications.  
</p> 
 
<p> 
C# is the main programming language of the Microsoft .NET platform. 
C# is followed in .NET by Visual Basic. It represents of the popularity
of the RAD. (Rapid Application Development.)
</p> 
 
<p> 
Perl, Python and Ruby are the most widely used scripting languages. They 
share many similarities. They are close competitors. 
</p> 
 
<p> 
The Objective C is the main programming language of the Apple ecosystem. 
</p> 


<h2>Multiplatform programming</h2>

<p>
Today, multiplatform programming is a buzzword. Most languages and libraries want 
to be multiplatform. 
wxWidgets was created as a multiplatform tool from the beginning.
Most developers choose among these options. If it is possible, they go to the web. Or they 
can use Qt, wxWidgets, Swing or SWT.
The Qt library is the closest competitor to wxWidgets.
Using the right tool for the right job is one of the most importat decisions 
programmer's (or management) do.
</p>

<p>
This was an introduction to wxWidgets. 
</p>


<div class="center"> 
<script type="text/javascript"><!--
google_ad_client = "pub-9706709751191532";
/* horizontal */
google_ad_slot = "1734478269";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script> 
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> 
</script> 
</div> 
<br> 


<div class="botNav, center">
<span class="botNavItem"><a href="/">Home</a></span> ‡ <span class="botNavItem"><a href="..">Contents</a></span> ‡
<span class="botNavItem"><a href="#">Top of Page</a></span>
</div>


<div class="footer">
<div class="signature">
<a href="/">ZetCode</a> last modified December 12, 2010 <span class="copyright">&copy; 2007 - 2013 Jan Bodnar</span>
</div>
</div>

</div> <!-- content -->

</div> <!-- container -->

</body>
</html>


